themingengine: Do shading with GtkHSLA
authorBenjamin Otte <otte@redhat.com>
Sun, 25 Nov 2012 02:33:33 +0000 (03:33 +0100)
committerBenjamin Otte <otte@redhat.com>
Sun, 25 Nov 2012 02:34:02 +0000 (03:34 +0100)
... instead of with symbolic colors.

gtk/gtkthemingengine.c

index 0c74afbd64430c7a5a505dc7388086e93f56db88..4a803cd2d826717cf2ffbcd699e5cb97412f1e7e 100644 (file)
@@ -35,6 +35,7 @@
 #include "gtkcssrgbavalueprivate.h"
 #include "gtkcssshadowsvalueprivate.h"
 #include "gtkcsstypesprivate.h"
+#include "gtkhslaprivate.h"
 #include "gtkthemingengineprivate.h"
 #include "gtkroundedboxprivate.h"
 #include "gtkthemingbackgroundprivate.h"
@@ -1339,14 +1340,11 @@ color_shade (const GdkRGBA *color,
              gdouble        factor,
              GdkRGBA       *color_return)
 {
-  GtkSymbolicColor *literal, *shade;
+  GtkHSLA hsla;
 
-  literal = gtk_symbolic_color_new_literal (color);
-  shade = gtk_symbolic_color_new_shade (literal, factor);
-  gtk_symbolic_color_unref (literal);
-
-  gtk_symbolic_color_resolve (shade, NULL, color_return);
-  gtk_symbolic_color_unref (shade);
+  _gtk_hsla_init_from_rgba (&hsla, color);
+  _gtk_hsla_shade (&hsla, &hsla, factor);
+  _gdk_rgba_init_from_hsla (color_return, &hsla);
 }
 
 static void